package cn.yougou.service.user;



import cn.yougou.dto.Query;
import cn.yougou.pojo.YgUser;
import cn.yougou.vo.YgPersonalVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * (YgUser)表服务接口
 *
 * @author makejava
 * @since 2020-12-04 14:58:20
 */
public interface YgUserService {




    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    YgUser queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<YgUser> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param ygUser 实例对象
     * @return 实例对象
     */
    YgUser insert(YgUser ygUser);

    /**
     * 修改数据
     *
     * @param ygUser 实例对象
     * @return 实例对象
     */
    int update(YgUser ygUser);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    List<YgUser> queryAll(YgUser ygUser);
    /**
     * 查询数据总条数
     */
    int selCount(Query query);

    /**
     * 有条件的查询所有
     * */
    List<YgUser> conditionSelAll(Query query);

    //登录
    YgUser login(YgUser ygUser);

    //注册
    Integer add (String phone, String password);

    //查询个人信息
    List<YgPersonalVo> selPersonal(YgPersonalVo ygPersonalVo);

    /**
     * 通过主键为用户 充值
     */

    int chargeMoney(YgUser ygUser);

    /**
     * 通过主键扣除用户余额
     * @param ygUser
     * @return
     */
    int reduceBalance(YgUser ygUser);
}